package model;

import domain.Country;
import java.util.List;

public interface Model {
    /**/

    <T> void addObject(T obj) throws EltcException;

    <T> T getObject(int id, Class cl) throws EltcException;

    <T> List<T> getObjects(Class cl) throws EltcException;

    <T> List<T> getObjectsFromTo(int start, int end, Class cl) throws EltcException;
    
     <T> void modifyObject(T obj) throws EltcException;
    
     <T> void removeObject(T obj) throws EltcException;
    /*CountryBean*/

    Country getCountry(int id) throws EltcException;

    void addCountry(Country obj) throws EltcException;

    void addCountries(Country[] array) throws EltcException;

    void modifiedCountry(Country obj) throws EltcException;

    Country[] findCountry(Country obj) throws EltcException;

    Country[] getCountries() throws EltcException;

    Country[] getCountriesFromTo(int start, int end) throws EltcException;

    boolean isExistsCountry(Country obj) throws EltcException;

    int getCountriesSize() throws EltcException;

    /*City*/
//    City getCity(int id) throws EltcException;
//
//    void addCity(City obj) throws EltcException;
//
//    void modifiedCity(City obj) throws EltcException;
//
//    City[] findCity(City obj) throws EltcException;
//
//    City[] getCities() throws EltcException;
//
//    City[] getCitiesFromTo(int start, int end) throws EltcException;
//
//    boolean isExistsCity(Country obj) throws EltcException;
//
//    int getCitiesSize() throws EltcException;
//
//    /*Student*/
//    Student getStudent(int id) throws EltcException;
//
//    void addStudent(Student obj) throws EltcException;
//
//    void modifiedStudent(Student obj) throws EltcException;
//
//    Student[] findStudent(Student obj) throws EltcException;
//
//    Student[] getStudents() throws EltcException;
//
//    Student[] getStudentsFromTo(int start, int end) throws EltcException;
//
//    boolean isExistsStudent(Student obj) throws EltcException;
//
//    int getStudentsSize() throws EltcException;
//    
//    Sex getSex(char sex) throws EltcException;
}
